package com.ygqh.baby.service;

import com.ygqh.baby.ao.Message;
import com.ygqh.baby.ao.QueryInfo;
import com.ygqh.baby.ao.ResultSet;
import com.ygqh.baby.po.BiSupplierOrderDay;

import java.util.Date;
import java.util.List;

public interface BiSupplierOrderDayService {

	List<BiSupplierOrderDay> find();

	int findCount();

	BiSupplierOrderDay findById(Long id);

	List<BiSupplierOrderDay> findList(QueryInfo queryInfo, String q, Date startDate, Date endDate, Long supplierId);

	int deleteSoft(Long[] ids);

	int deleteSoft(Long id);

	int save(BiSupplierOrderDay biSupplierOrderDay);

	int update(BiSupplierOrderDay biSupplierOrderDay);

	int saveOrUpdate(BiSupplierOrderDay biSupplierOrderDay);

	ResultSet<BiSupplierOrderDay> search(QueryInfo queryInfo, String q, Date startDate, Date endDate, Long supplierId);

	int saveBatch(List<BiSupplierOrderDay> biSupplierOrderDayList);

	List<BiSupplierOrderDay> supplierOrderReportWithSplitYG(Date startDate, Date endDate);

	Message supplierOrderReportByMonth(Date startDate, Date endDate);

	Message supplierOrderReportByDay(Date startDate, Date endDate);

	ResultSet<BiSupplierOrderDay> searchaByMonth(QueryInfo queryInfo, Date startDate, Date endDate);

	/**
	 * 实时数据
	 *
	 * @param startDate
	 * @param endDate
	 * @param currentOrderDay true:只查当天下单 ，当天支付的
	 * @return
	 */
	List<BiSupplierOrderDay> statisticsSupplierOrderByDay(Date startDate, Date endDate, boolean currentOrderDay,
														  boolean splitPlatform);

	/**
	 * 重置指定时间段内的日报数据
	 *
	 * @param startDate
	 * @param endDate
	 * @return
	 */
	Message resetSupplierReport(Date startDate, Date endDate);

	ResultSet<BiSupplierOrderDay> searchSupplierOrderReportByMonth(QueryInfo queryInfo, Date startDate, Date endDate,
																   String platformNo,
															  boolean groupSupplier, boolean splitYg);
}
